package com.xzmzhp.service.activity;

import com.xzmzhp.pojo.activity.ProgramLibrary;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author: 王源(xm)
 * @create: 2022-03-31 09:37
 * @program: ams
 * @description: 活动节目逻辑交互接口
 */

@Repository
public interface ProgramLibraryService {
    /**
     * 查询所有节目数据
     * @return 节目库数据
     */
    List<ProgramLibrary> findAll();

    /**
     * 根据参数查询数据
     * @param param 参数
     *        programName 节目名称
     *        programTypeId 节目类型Id
     *        programTypeName 节目类型名称
     *        startTime 开始时间
     *        endTime 结束时间
     * @return 节目库数据
     */
    List<ProgramLibrary> findProgramLibraryByParam(Map<String,Object> param);

    /**
     * 根据id查询节目内容
     * @param programId 节目id
     * @return 节目内容
     */
    String findContentById(Integer programId);

    /**
     * 根据节目id查询节目信息
     * @param programId 节目信息
     * @return 节目信息
     */
    ProgramLibrary findProgramLibraryById(Integer programId);

    /**
     * 根据节目名称查询节目信息
     * @param programName 节目名称
     * @return 节目信息
     */
    ProgramLibrary findProgramLibraryByProgramName(String programName);

    /**
     * 添加节目库信息
     * @param programLibrary 节目库信息
     * @return 是否成功
     */
    Integer addProgramLibrary(ProgramLibrary programLibrary);

    /**
     * 修改节目信息
     * @param programLibrary 节目库信息
     * @return 是否成功
     */
    Integer exitProgramLibrary(ProgramLibrary programLibrary);

    /**
     * 根据节目id删除节目信息(仅允许未使用的节目被删除)
     * @param programId 节目id
     * @return 是否成功
     */
    Integer delProgramLibrary(Integer programId);
}
